package controller;

import java.io.IOException;
import java.io.PrintWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dataaccess.ContatoDao;
import model.User;

public class AdicionaContatoServlet extends HttpServlet {
     protected void doPost(HttpServletRequest request,
             HttpServletResponse response)
             throws IOException, ServletException {
                         
         PrintWriter out = response.getWriter();
                         
         // pegando os parâmetros do request
         String nome = request.getParameter("name");
         String email = request.getParameter("email");
         String login = request.getParameter("login");
         String senha = request.getParameter("pwd");
         String rg = request.getParameter("rg");
         String cpf = request.getParameter("cpf");
         String dataEmTexto = request
                 .getParameter("birthday");
         Calendar dataNascimento = null;
      // fazendo a conversão da data
         try {
             Date date = 
                     new SimpleDateFormat("dd/MM/yyyy")
                     .parse(dataEmTexto);
             dataNascimento = Calendar.getInstance();
             dataNascimento.setTime(date);
         } catch (ParseException e) {
             out.println("Erro de conversão da data");
             return; //para a execução do método
         }
         

         
         // monta um objeto contato
         User contato = new User();
         contato.setName(nome);
         contato.setEmail(email);
         contato.setLogin(login);
         contato.setPassword(senha);
         contato.setBirthday(dataNascimento);
         contato.setRg(rg);
         contato.setCpf(cpf);
         
         // salva o contato
         ContatoDao dao = new ContatoDao();
         dao.adiciona(contato);
         
         // imprime o nome do contato que foi adicionado
         out.println("<html>");
         out.println("<body>");
         out.println("Contato " + contato.getName() + 
                 " adicionado com sucesso");    
         out.println("Retorne à <A HREF='index.html'>tela inicial</A>");
         out.println("</body>");
         out.println("</html>");
     }
 }